草庐IT

TypeScript 条件语句

全部标签

javascript - 为什么在 JavaScript 中使用 TypeScript 类需要 `.default` ?

我有一个TypeScript类,它是npm包的一部分。为了维护,我将类分解成多个类,并通过继承构建最终的导出类。我认为这对我的问题无关紧要,但我认为最好公开这一点信息。我在ChildClass.ts中这样定义类:exportdefaultChildClassextendsParentClass{…}Tsc的outDir为“build”。package.json文件有一个属性"main":"build/ChildClass.js"同时使用npmlink和npmpack我可以部署包并在TypeScript演示包中毫无问题地使用它。但是,如果我尝试在JavaScript演示中使用该包,con

javascript - 如何使用 OR 条件链接选择器(如果 main 为空,则为替代结果集)

我现在拥有的:varresult=$('selector1');if(result.length==0)result=$('selector2');但这会破坏链接。问题是-如何使用JQuery链接获得相同的结果?我不能使用$('selector1,selector2'),因为这总是会为两个选择器选择结果集,而我只需要selector2的结果selector1没有匹配的元素。 最佳答案 这种行为在某些地方被称为“合并”。这是一个通用的jQuery插件,可以为您完成此操作(根据反馈进行编辑,请参阅评论)。//Thenamespacefu

javascript - TypeScript 持续集成

有没有人有将TypeScript添加到持续集成系统的好策略?我计划在我的构建中编译它,然后针对它生成的JavaScript运行单元测试。但是,我想为TypeScript添加代码标准检查。有什么想法吗?谢谢。 最佳答案 TypeScript团队故意保留对官方编码标准的判断,因为他们想看看人们在现实生活中如何使用这种语言。有趣的是,人们似乎遵循JavaScript命名约定,即ModuleName、ClassName、functionName。您可以使用TypeScript(tsUnit)或JavaScript(Jasmine、QUnit

javascript - 如果 'if' 条件为假,语句不在 chrome 中执行,但在 Firefox 中执行

Thisistheplnkrofmyscenario.当我在chrome中调试此代码时,不会执行第二个“if”中的语句。但是当我在Firefox中调试它时,会执行第二个“if”中的语句。angular.module('optionsExample',[]).controller('ExampleController',['$scope',function($scope){debugger;if(true){$scope.name='Foo';}if(false){$scope.name='lol';}}]);火狐版本:35.0.1Chrome版本:41.0.2272.101m为什么会这

javascript - es6 模块到 commonjs,在 node harmony 标志下使用 typescript

我在--harmony标志下使用带有Node的TypeScript(1.6),所以我想将es6模块语法转换为commonjs。据我所知,我无法使用TypeScript1.6执行此操作。如果我将目标设置为es6,并将模块设置为commonjs,我会收到TypeScript错误-Cannotcompilemodulesinto'commonjs','amd','system'or'umd'whentargeting'ES6'orhigher.为什么TypeScript不能编译成带有ES6目标的commonjs?我想很多人都想这样做,因为Node还不支持ES6模块。我原以为新的moduleR

javascript - TypeScript 处理接口(interface)和类中多余属性的方式不同

我最近在TypeScript中偶然发现了这种奇怪的(imo)行为。在编译期间,只有当预期变量的类型是接口(interface)且接口(interface)没有必填字段时,它才会提示过多的属性。链接到TypeScriptPlayground#1:http://goo.gl/rnsLjdinterfaceIAnimal{name?:string;}classAnimalimplementsIAnimal{}varx:IAnimal={bar:true};//Objectliteralmayonlyspecifyknownproperties,and'bar'doesnotexistinty

javascript - 使用类将 JSON 对象转换为 typescript 类型变量的正确方法?

这是我正在尝试做的一个更简单的例子:exportclassPerson{id:Number;name:String;}exportclassPersonForm{//Thisline:default:Person={name:"Guy"};//Givesthefollowingerror://Error:(25,5)TS2322:Type'{name:string;}'isnotassignabletotype'Person'.//Property'id'ismissingintype'{name:string;}'.//Itried{name:"Guy"}butitgivesthes

javascript - 满足条件后如何获取嵌套数组的id?

我有一个嵌套数组,一旦满足条件,它应该给出所有父ID,例如我有一个数据数组,我应该在其中匹配getParentIds(数据,182,[]);结果:[96,182];getParentIds(数据,174,[]);结果:[109,219,76,174];vardata=[{"id":96,"name":"test1","items":[{"id":181,"name":"Yes","items":[]},{"id":182,"name":"No","items":[]}]},{"id":109,"name":"Test5","items":[{"id":219,"name":"opt2"

javascript - 在 typescript 中获取函数名称

我正在寻找一种方法来获取传入参数的函数名称console.clear();classA{test(){}testCall(fnc:Function){console.log(fnc.name);//iwantitdisplaytestherenotemptyconsole.log(fnc);}}vara=newA();a.testCall(a.test);你可以在jsbin中查看http://jsbin.com/loluhu/edit?js,console 最佳答案 我发现这是typescript中的一个错误你可以在这里找到解决方案

javascript - 如何使用羊驼创建必填条件字段?

有谁知道如何定义依赖于另一个字段的必填字段?例如,如果field1标记为true,则field2必须是必需的,否则不应填写字段2。这是我目前的尝试:"field1":{"title":"Field1:","type":"string","enum":["true","false"]},"field2":{"title":"Field2:","type":"integer","dependencies":"field1","required":true} 最佳答案 如果不满足依赖关系,Alpaca的依赖系统会隐藏依赖字段,否则会显示该